﻿/* Этот файл является частью библиотеки Saraff.VisualFoxpro.NET
 * © SARAFF SOFTWARE (Кирножицкий Андрей), 2015.
 * Saraff.VisualFoxpro.NET - свободная программа: вы можете перераспространять ее и/или
 * изменять ее на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
 * в каком она была опубликована Фондом свободного программного обеспечения;
 * либо версии 3 лицензии, либо (по вашему выбору) любой более поздней
 * версии.
 * Saraff.VisualFoxpro.NET распространяется в надежде, что она будет полезной,
 * но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
 * или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
 * общественной лицензии GNU.
 * Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
 * вместе с этой программой. Если это не так, см.
 * <http://www.gnu.org/licenses/>.)
 * 
 * This file is part of Saraff.VisualFoxpro.NET.
 * © SARAFF SOFTWARE (Kirnazhytski Andrei), 2014.
 * Saraff.VisualFoxpro.NET is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * Saraff.VisualFoxpro.NET is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 * You should have received a copy of the GNU Lesser General Public License
 * along with Saraff.VisualFoxpro.NET. If not, see <http://www.gnu.org/licenses/>.
 * 
 * PLEASE SEND EMAIL TO:  vfp@saraff.ru.
 */
using System;
using System.Collections.Generic;
using System.Text;

namespace Saraff.VisualFoxpro.Externals.Forms {

    public sealed class sprav:VfpExternalForm<object> {

        private Dictionary<SpravType,object[]> _dictionary=new Dictionary<SpravType,object[]>() { 
            { SpravType.AdvancedDocumentText,new object[] {"Заготовки дополнительного текста пункта приказа (распоряжения)","V_KDOPTDOK","KDOPT","DOPTPP","Код","Текст",1,false} },
            { SpravType.InnerCategory,new object[] {"Внутренняя категория","V_KKATR","CAT","NCAT","Код","Наименование категории",1,false} },
            { SpravType.TitleTemplate,new object[] {"Заготовки оснований параграфов приказов (распоряжений)","V_KOSNPDOK","KOSNP","NOSN","Код","Интерпретация основания",1,false} },
            { SpravType.WorkingConditions,new object[] {"Условия труда по ОКРБ","V_KUSLOKRB","KUOKRB","NUOKRB","Код","Наименование условий труда согласно ОКРБ",1,false} }
        };

        public enum SpravType {
            AdvancedDocumentText,
            InnerCategory,
            TitleTemplate,
            WorkingConditions
        };

        public bool Invoke(out object result,string caption,string alias,string firstColumn,string secondColumn,string firstHeader,string secondHeader,int modal,bool topic) {
            return base.Invoke(out result,caption,alias,firstColumn,secondColumn,firstHeader,secondHeader,modal,topic);
        }

        public bool Invoke(out object result,SpravType spravType) {
            return base.Invoke(out result,_dictionary[spravType]);
        }

        protected override string FormName {
            get {
                return "sprav";
            }
        }

        protected override bool IsSuccess(object value,out object result) {
            result=value;
            return !value.Equals("False")&&!value.Equals(DBNull.Value);
        }
    }
}
